package model.core.utente;

import java.util.Calendar;
import java.util.GregorianCalendar;

/**
 * 
 * @author Giuseppe Fusco (fusgius19@gmail.com)
 *
 */
public class Studente extends AbstractDomainModelObservable{

	private String nome;

	private String cognome;

	private GregorianCalendar data_nascita;

	private int anno_corso;

	private int anno_immatricolazione;

	private String matricola;

	private String password;

	public Studente(){
		anno_corso = 1;
		anno_immatricolazione = new GregorianCalendar().get(Calendar.YEAR);
	}
	
	public Squadra creaSquadra() {
		return new Squadra();
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getCognome() {
		return cognome;
	}

	public void setCognome(String cognome) {
		this.cognome = cognome;
	}

	public GregorianCalendar getData_nascita() {
		return data_nascita;
	}

	public void setData_nascita(GregorianCalendar data_nascita) {
		this.data_nascita = data_nascita;
	}

	public int getAnno_corso() {
		return anno_corso;
	}

	public void setAnno_corso(int anno_corso) {
		this.anno_corso = anno_corso;
	}

	public int getAnno_immatricolazione() {
		return anno_immatricolazione;
	}

	public void setAnno_immatricolazione(int anno_immatricolazione) {
		this.anno_immatricolazione = anno_immatricolazione;
	}

	public String getMatricola() {
		return matricola;
	}

	public void setMatricola(String matricola) {
		this.matricola = matricola;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	/* (non-Javadoc)
	 * @see java.lang.Object#equals(java.lang.Object)
	 */
	@Override
	public boolean equals(Object arg0) {
		// TODO Auto-generated method stub
		if(arg0 instanceof Studente){
			Studente s = (Studente)arg0;
			if(s.getMatricola().equals(getMatricola()))
				return true;
			else
				return false;
		}
		else
			return false;
	}
	
	public static Studente createFromCommissario(Commissario s){
		Studente g = new Studente();
		g.setAnno_corso(s.getAnno_corso());
		g.setAnno_immatricolazione(s.getAnno_immatricolazione());
		g.setCognome(s.getCognome());
		g.setData_nascita(s.getData_nascita());
		g.setMatricola(s.getMatricola());
		g.setNome(s.getNome());
		g.setPassword(s.getPassword());
		return g;
	}
	
}
